import axios from 'axios'
import { Notify } from 'vant';
// import Vue from 'vue'
// import store from '@/store'  // 我此项目没有用到vuex，所以vuex代码的都注释了，需要的自己打开使用

// import {ACCESS_TOKEN} from '@/store/mutation-types'



// 创建 axios 实例
const requests = axios.create({
  baseURL: "http://localhost:9090", // 基础url,如果是多环境配置这样写，也可以像下面一行的写死。
　　// baseURL: 'http://168.192.0.123',
  timeout: 6000 // 请求超时时间
})




// 错误处理函数
const err = (error) => {
  if (error.response) {
    const code = error.response.status
    const message = error.response.statusText
    if (code === 403) {
        Notify({ type: 'danger', message: message });
    }
    if (code === 401) {
        Notify({ type: 'danger', message: '你没有权限。' });
    }
  }
  return Promise.reject(error)
}



// request interceptor(请求拦截器)
requests.interceptors.request.use(config => {
  const token = localStorage.getItem('userToken')
  config.headers["Content-Type"] = "application/x-www-form-urlencoded"
  config.headers["Access-Control-Allow-Headers"] = "*"
  // config.headers["Access-Control-Allow-Origin"] = "*"
  if (token) {
    config.headers['userToken'] = token // 让每个请求携带自定义 token 请根据实际情况自行修改
  }
  return config
}, err)



// response interceptor（接收拦截器）
requests.interceptors.response.use((response) => {
  console.log(response)
  const res = response.data
  const eMessage = response.headers["emessage"] || "";
  const eCode = response.headers["ecode"];
  return {eCode, res, eMessage}
}, err)



export default {
  requests
}